Many different types and styles of semiconductor memory devices exist to store data for electronic devices such as computers, portable media players, and digital cameras. For example, dynamic random access memory and static random access memory are two types of volatile memory. Programmable read only memory, electrically erasable programmable read only memory (EEPROM), and flash memory are three common types of non-volatile memory.
Non-volatile memory is generally constructed of many memory cells where single bits of data are stored in and read from individual memory cells in a memory array. A typical memory cell in the memory array, such as a flash memory cell in a flash memory array, comprises a single field effect transistor having a control gate, a floating gate, a source, and a drain. The cells are generally programmed by hot electron injection and erased by Fowler-Nordheim tunneling or other mechanisms. The erase, program, and read operations are commonly performed by application of appropriate voltages to certain terminals of the memory cells. In erase and write operations, the voltages are applied to the memory cells and cause charges to either be removed or stored in the memory cells. In read operations, generally, threshold voltages (Vt) are applied to the cells which cause currents to flow in the cells, wherein the amounts of such currents are indicative of the values of the data stored in the cells. The memory devices generally include circuitry to sense the resulting cell currents in order to retrieve data stored in the cells.
As manufacturers decrease the size of the individual memory cells, the capacity of memory devices to store data is gradually being increased by increasing the number of memory cells available per unit area. Unfortunately, reducing the size of the memory cells tends to make them more vulnerable to leakage. Leakage is an unwanted loss of charge from the floating gate of a memory cell and may occur for a variety of reasons. Data retention may deteriorate as charge slowly drifts out of the floating gate over the operating life of the memory device. Environmental conditions in which the memory device operates, such as temperature, may affect or result in leakage. Leakage may also occur when the memory cell is disturbed. When a memory cell is being programmed, erased, or read, its word line, or bit line, or both, may be coupled to a voltage that is elevated in either a positive or negative direction. Adjacent memory cells sharing the same word line or bit line will also receive the elevated voltage which may disturb voltage differentials between the control gates, drains, and sources of the adjacent memory cells. The disturbance may cause charge to leak from the floating gates of some of the adjacent memory cells. Depending on the array structure multiple cycles of programming or an erase of memory cells in a block could induce leakage in cells in different blocks in the array. If sufficient leakage occurs in a programmed memory cell over its lifetime it may gradually move to a state in which a read operation will indicate that it is erased, or, that the state of the cell differs from its originally programmed state. This is referred to as a bit failure or charge loss for a memory cell.
To combat the problem of bit failure, prior art devices may reprogram or refresh the cells that are on the verge of bit failure. Prior art devices generally examine a single cell, detect that the threshold voltage for the programmed state is declining, and reprogram the cell adding a sufficient amount of charge back to the cell. Such devices generally repeat this process of reading, detecting, and reprogramming individual cells, one at a time, until all memory cells of the device have been refreshed. Unfortunately, this refreshing process generally consumes a large amount of time to complete. Consequently, the refresh operations tend to significantly impact performance of the memory devices. Additionally, no methods exist to detect when groups of memory cells, such as memory blocks, are on the verge of changing states due to charge loss.